package multiplex.dataaccess.teste;

import java.util.Calendar;
import java.util.List;

import multiplex.dataaccess.dao.PromocaoMeioPagamentoDao;
import multiplex.model.BandeiraCartao;
import multiplex.model.PromocaoMeioPagamento;

public class PromocaoMeioPagamentoDaoTeste implements IDaoTeste{
	
	public void run(){
		SaveTeste();
		GetAndUpdateTeste();
		RemoveTeste();
	}
	
	private void SaveTeste(){
		PromocaoMeioPagamentoDao promocaoMeioPagamentoDao = new PromocaoMeioPagamentoDao();
		PromocaoMeioPagamento promocaoMeioPagamento = new PromocaoMeioPagamento();
		promocaoMeioPagamento.setNome("Prom 1");
		promocaoMeioPagamento.setValidaDuranteFimDeSemana(false);
		promocaoMeioPagamento.setValidaDuranteSemana(true);
		promocaoMeioPagamento.setDataTermino(Calendar.getInstance());
		promocaoMeioPagamento.setBandeiraCartao(BandeiraCartao.VISA);
		promocaoMeioPagamento.setDesconto(20);
		promocaoMeioPagamentoDao.save(promocaoMeioPagamento);
		System.out.println("PromocaoMeioPagamento salva com sucesso!");
	}
	
	private void GetAndUpdateTeste(){
		List<PromocaoMeioPagamento> promocoes;
		PromocaoMeioPagamentoDao dao = new PromocaoMeioPagamentoDao();
		promocoes = dao.getAll();
		PromocaoMeioPagamento promocao = promocoes.get(0);
		promocao.setDesconto(3.0);
		dao.update(promocao);
		System.out.println("PromocaoMeioPromocao atualizada com sucesso!");
	}
	
	private void RemoveTeste(){
		PromocaoMeioPagamentoDao dao = new PromocaoMeioPagamentoDao();
		PromocaoMeioPagamento promocao = dao.getAll().get(0);
		dao.remove(promocao);
		System.out.println("PromocaoMeioPagamento deletada com sucesso!");
	}
	
}
